const userList = [
  {
    username: 'admin',
    password: 'atguigu123',
    token:
      'eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAKtWKi5NUrJSCjAK0A0Ndg1S0lFKrShQsjI0NzA2sbA0NDPTUSotTi3yTAGKQZh-ibmpQB2JKbmZeUq1AG_Lu_dBAAAA.PYnRTenbxYjn6OKDOmd08bRrEVh_q5FY4RJq6ragoYWPebVj3XN07FbVLneIrSihfGS1tiZbqFPtZlKLuwX9GQ'
  },
  {
    username: 'system',
    password: '111111',
    token:
      'eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAKtWKi5NUrJSCjAK0A0Ndg1S0lFKrShQsjI0NzA2sbA0NDPTUSotTi3yTAGKQZh-ibmpQB2JKbmZeUq1AG_Lu_dBAAAA.PYnRTenbxYjn6OKDOmd08bRrEVh_q5FY4RJq6ragoYWPebVj3XN07FbVLneIrSihfGS1tiZbqFPtZlKLuwX9GQ'
  }
]

const infoList = [
  {
    routes: [
      'aaa',
      'User',
      'Category',
      'Discount',
      'ActivityEdit',
      'CouponRule',
      'Product',
      'Activity',
      'CouponAdd',
      'Trademark',
      'test1',
      'Attr',
      'ActivityAdd',
      'CouponEdit',
      'OrderShow',
      '111',
      'Permission',
      'Spu',
      'UserList',
      'ClientUser',
      'Order',
      '33',
      "t't",
      'Coupon',
      'permision',
      'Acl',
      'ActivityRule',
      'Role',
      'RoleAuth',
      '222',
      'Refund',
      '1223',
      'OrderSetting',
      'x',
      'OrderList',
      'Sku'
    ],
    buttons: [
      'cuser.detail',
      'cuser.update',
      'cuser.delete',
      'btn.User.add',
      'btn.User.remove',
      'btn.User.update',
      'btn.User.assgin',
      'btn.Role.assgin',
      'btn.Role.add',
      'btn.Role.update',
      'btn.Role.remove',
      'btn.Permission.add',
      'btn.Permission.update',
      'btn.Permission.remove',
      'btn.Activity.add',
      'btn.Activity.update',
      'btn.Activity.rule',
      'btn.Coupon.add',
      'btn.Coupon.update',
      'btn.Coupon.rule',
      'btn.OrderList.detail',
      'btn.OrderList.Refund',
      'btn.UserList.lock',
      'btn.Category.add',
      'btn.Category.update',
      'btn.Category.remove',
      'btn.Trademark.add',
      'btn.Trademark.update',
      'btn.Trademark.remove',
      'btn.Attr.add',
      'btn.Attr.update',
      'btn.Attr.remove',
      'btn.Spu.add',
      'btn.Spu.addsku',
      'btn.Spu.update',
      'btn.Spu.skus',
      'btn.Spu.delete',
      'btn.Sku.updown',
      'btn.Sku.update',
      'btn.Sku.detail',
      'btn.Sku.remove',
      'btn.all',
      'btn.test.2',
      'aaabbb',
      ''
    ],
    roles: ['超级管理员'],
    name: 'admin',
    avatar:
      'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif'
  },
  {
    routes: [
      'aaa',
      'User',
      'Category',
      'Discount',
      'ActivityEdit',
      'CouponRule',
      'Product',
      'Activity',
      'CouponAdd',
      'Trademark',
      'test1',
      'Attr',
      'ActivityAdd',
      'CouponEdit',
      'OrderShow',
      '111',
      'Permission',
      'Spu',
      'UserList',
      'ClientUser',
      'Order',
      '33',
      "t't",
      'Coupon',
      'permision',
      'Acl',
      'ActivityRule',
      'Role',
      'RoleAuth',
      '222',
      'Refund',
      '1223',
      'OrderSetting',
      'x',
      'OrderList',
      'Sku'
    ],
    buttons: [
      'cuser.detail',
      'cuser.update',
      'cuser.delete',
      'btn.User.add',
      'btn.User.remove',
      'btn.User.update',
      'btn.User.assgin',
      'btn.Role.assgin',
      'btn.Role.add',
      'btn.Role.update',
      'btn.Role.remove',
      'btn.Permission.add',
      'btn.Permission.update',
      'btn.Permission.remove',
      'btn.Activity.add',
      'btn.Activity.update',
      'btn.Activity.rule',
      'btn.Coupon.add',
      'btn.Coupon.update',
      'btn.Coupon.rule',
      'btn.OrderList.detail',
      'btn.OrderList.Refund',
      'btn.UserList.lock',
      'btn.Category.add',
      'btn.Category.update',
      'btn.Category.remove',
      'btn.Trademark.add',
      'btn.Trademark.update',
      'btn.Trademark.remove',
      'btn.Attr.add',
      'btn.Attr.update',
      'btn.Attr.remove',
      'btn.Spu.add',
      'btn.Spu.addsku',
      'btn.Spu.update',
      'btn.Spu.skus',
      'btn.Spu.delete',
      'btn.Sku.updown',
      'btn.Sku.update',
      'btn.Sku.detail',
      'btn.Sku.remove',
      'btn.all',
      'btn.test.2',
      'aaabbb',
      ''
    ],
    roles: ['超级管理员'],
    name: 'system',
    avatar:
      'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif'
  }
]

function findToken({ username, password }) {
  const { token } =
    userList.find(
      (item) => item.username === username && item.password === password
    ) || {}
  return token
}
function findUserInfo(token) {
  const { username = '' } = userList.find((item) => item.token === token) || {}
  if (!username) {
    return null
  }
  const info = infoList.find((item) => item.name === username) || null
  return info
}
//对外暴露一个数组:数组里面包含两个接口
//登录假的接口
//获取用户信息的假的接口
export default [
  // 用户登录接口
  {
    url: '/api/admin/acl/index/login', //请求地址
    method: 'post', //请求方式
    response: ({ body }) => {
      //获取请求体携带过来的用户名与密码
      const { username, password } = body
      //调用获取用户信息函数,用于判断是否有此用户
      const token = findToken({ username, password })
      //没有用户返回失败信息
      if (!token) {
        return {
          code: 201,
          data: null,
          message: '账号或者密码不正确'
        }
      }
      //如果有返回成功信息
      return { code: 200, data: token, message: '登录成功' }
    }
  },
  // 获取用户信息
  {
    url: '/api/admin/acl/index/info',
    method: 'get',
    response: (request) => {
      //获取请求头携带token
      const token = request.headers.token

      //查看用户信息是否包含有次token用户
      const userInfo = findUserInfo(token)
      //没有返回失败的信息
      if (!userInfo) {
        return { code: 201, data: null, message: '获取用户信息失败' }
      }
      //如果有返回成功信息
      return { code: 200, data: userInfo, message: '获取用户信息成功' }
    }
  },
  // 获取用户信息
  {
    url: '/api/admin/acl/index/logout',
    method: 'post',
    response: () => {
      //如果有返回成功信息
      return { code: 200, message: '成功', data: null }
    }
  }
]
